<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<script>
var arr1 = ['翠花','春花','如花'];
// 在数组末尾添加一个元素
// console.log( arr1.length );// 3 数组长度
// arr1[arr1.length] 最后一个元素的下一个
// arr1[arr1.length] = '闭月羞花';
// console.log( arr1 );// ['翠花', '春花', '如花', '闭月羞花']

function push(arr,val){
    // 在最后一位的下一位添加元素
    arr[arr.length] = val;
    // 返回数组新的长度
    return arr.length;
}
// var res1 = push(arr1,'闭月羞花');
// console.log( arr1 );// ['翠花', '春花', '如花', '闭月羞花']
// console.log( res1 );// 4


var arr1 = ['翠花','春花','如花'];
// 在数组前面添加一个元素
// arr1[2] 后移 arr1[3]
// arr1[1] 后移 arr1[2]
// arr1[0] 后移 arr1[1]
// 此时，arr1[0] 空出来了

// arr1[3] = arr1[2]
// arr1[2] = arr1[1]
// arr1[1] = arr1[0]

// arr1[0] = '闭月羞花';
// ['闭月羞花', '翠花', '春花', '如花']

// 遍历，将每一个元素后移一位
// for (var i = arr1.length; i >= 0; i--){
//     console.log( i );// 3 2 1 0
//     arr1[i] = arr1[i-1];
// }
// arr1[0] = '闭月羞花';// 修改索引为0的值
// console.log( arr1 );// ['闭月羞花', '翠花', '春花', '如花']

function unshift(arr,val){
    // 遍历，将每一个元素后移一位
    for (var i = arr.length; i >= 0; i--){
        arr[i] = arr[i-1];
    }
    arr[0] = val;// 修改索引为0的值
    // 返回数组新的长度
    return arr.length;
}
// var res2 = unshift(arr1,'闭月羞花');
// console.log( arr1 );// ['闭月羞花', '翠花', '春花', '如花']
// console.log( res2 );// 4


var arr1 = ['翠花','春花','如花'];
// 在数组中间添加一个元素
// 在索引为1的位置添加元素
// 从索引为1的位置开始，所有元素往后移一位
// 此时，arr1[1] 位置空出来了
// arr1[1] = '闭月羞花';
// ['翠花', '闭月羞花', '春花', '如花']
function splice(arr,val,n){
    // 从索引为n的位置开始，所有元素往后移一位
    for (var i = arr.length; i >= 0; i--){
        // i -> 3 2 1 0
        if (i == n) {
            // 遍历到要添加元素的位置时，结束循环
            break;
        }
        arr[i] = arr[i-1];
    }
    // 在索引为n的位置，添加元素
    arr[n] = val;
    // 返回数组新的长度
    return arr.length;
}
var res3 = splice(arr1,'闭月羞花',1);
console.log( arr1 );
console.log( res3 );

</script>
</body>
</html>